본문으로 건너뛰기

그것은 나무가 아니다

  • 2026-07-12

그것은 나무가 아니다.

원칙에 의한 설계

Bret VictorInventing on principle에서 “창작자는 자신의 창작물과 직접적으로 연결되어야 한다”가 본인의 원칙이라고 말했다. 다른 사례로는 Larry Tesler의 “No mode”를 소개한다.

나에게도 이런 원칙이 있을까? 어쩌면 “그것은 나무가 아니다”가 나의 원칙일 수 있겠다.

도시는 나무가 아니다

건축가 Christopher Alexander도시는 나무가 아니다(1965)에서 자연적으로 만들어진 도시는 반격자 구조이지만 인간이 설계한 인공 도시는 나무 구조라서 삶에 필요한 연결들을 끊어내고, 그 결과로 인간의 삶이 파편화된다고 비판했다.

트리는 복잡한 사고를 인간의 머리에 담을 때 유용하만, 도시는 트리가 아니다. 도시는 삶을 담는 그릇이다. 트리 구조로 설계된 도시는 면도날로 가득찬 그릇과 같고, 이 그릇에 무엇을 담건 조각날 수 밖에 없다. 도시를 트리로 설계하면 그 도시에 사는 사람들의 삶을 조각내게 된다. #

도시 뿐 아니라 많은 게 이렇다고 생각한다.

나무가 아닌 것들

정보 구조는 나무가 아니다

인지신경과학인지과학 범주에 넣을지 신경과학 범주에 넣을지 정하기가 어렵다. “생물학” 폴더를 만들었다가 내용이 너무 많아지면 “분자생물학”과 “발생학”으로 나누는 등 꾸준한 관리가 필요하다. 물론 이 과정에서 과거의 기록을 다시 살펴볼 기회가 생긴다는 점은 장점일 수 있다. (참고: 과정에 담긴 가치)

나무 형태의 설계는 행복한 충돌이 일어날 가능성을 차단하기도 한다. 슬랙 채널, 커뮤니티 게시판 등도 마찬가지.

디자인은 나무가 아니다

디자인도 나무가 아니다. 예를 들어 CSS는 의도적으로 나무 구조(DOM tree)를 가로지르기 쉽도록 설계되었으나(selector), 많은 사람들이 이걸 “해결해야할 문제”로 규정하고, 디자인을 컴포넌트 단위로 끊어낸 뒤 디자인이 이 경계를 넘나드는 일을 최소화하는 방향을 지향한다.

이로 인해 디자이너와 개발자가 필요한 소통을 충분히 하지 않으면서도 문제를 “관리 가능한” 수준으로 치워버릴 수 있게 된다. 문제를 해결하는 대신 잘게 조각내어 컴포넌트 안 구석구석에 미뤄둔다.

소프트웨어 설계는 나무가 아니다

소프트웨어를 단일한 주요 관심사(보통은 비즈니스 도메인 관련)에 따라 모듈화를 할 경우, 로깅이나 보안과 같은 나머지 관심사들은 시스템 여기저기 분산(scatter)된다. 이를 지배적 분해에 의한 폭정이라고 부른다.

애스펙트 지향 프로그래밍에서는 다차원적 관심사 분리로 이 문제를 완화한다.

정체성은 나무가 아니다

K. W. 크렌쇼우Demarginalizing the Intersection of Race and Sex에서 분석한 판례에서 법원은 흑인 여성들이 인종차별과 성차별을 결합한 독자적인 청구를 할 수 없다고 보았다. 즉, “흑인에 대한 차별” 또는 “여성에 대한 차별”은 인정될 수 있으나 “흑인 여성에 대한 차별”이라는 개념은 법적으로 성립하지 않는다는 주장이다.

이 문제는 인간의 정체성 또는 사회적 억압 구조를 단일 축의 나무 구조로 분해하려는 인식에서 비롯된다. 교차성 분석은 한계를 벗어나려는 시도이다.

See also